import Vue from 'vue'
import Vuex from "vuex"
import userInfo from "./modules/uesrInfo.js"
import copyText from "./modules/copyText.js"
// 把vuex作为插件 引入到vue全局
Vue.use(Vuex)
// // 自动匹配modules目录下的js文件作为store的modules，所以新增store模块的时候必须添加在modules目录下
// const moduleFiles = require.context('./modules', true, /\.js$/);
// const modules = moduleFiles.keys().reduce((modules, modulePath) => {
// 	const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
// 	const value = moduleFiles(modulePath)
// 	modules[moduleName] = value.default
// 	return modules
// }, {});

// 创建一个仓库
export default new Vuex.Store({
	// 全局代码
	state: {
		userName: "",
		dynamicTabbar: [],
	},

	// 修改状态
	mutations: {
		updateTabbar(state, payload) {
			state.dynamicTabbar = payload
		}
	},
	// 异步修改
	actions: {
		changeTabbar({
			commit
		}, payload) {
			// 使用commit方法提交一个mutation，更新state中的dynamicTabbar
			commit('updateTabbar', payload)
		}
	},

	// 模块化
	modules: {
		userInfo,
		copyText
	}
})